package org.example.graph_theory;

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.PriorityQueue;

public class The_number_of_plans_to_reach_the_destination {
    public static void main(String[] args) {
        //到达目的地的方案数

        //你在一个城市里，城市由 n 个路口组成，路口编号为 0 到 n - 1 ，某些路口之间有 双向 道路。输入保证你可以从任意路口出发到达其他任意路口，且任意两个路口之间最多有一条路。
        //给你一个整数 n 和二维整数数组 roads ，其中 roads[i] = [ui, vi, timei] 表示在路口 ui 和 vi 之间有一条需要花费 timei 时间才能通过的道路。你想知道花费 最少时间 从路口 0 出发到达路口 n - 1 的方案数。
        //请返回花费 最少时间 到达目的地的 路径数目 。由于答案可能很大，将结果对 109 + 7 取余 后返回。

    }
    public static int countPaths(int n, int[][] roads) {
        HashSet<Integer> visited = new HashSet<>();
        int[] len = new int[n];
        Arrays.fill(len,Integer.MAX_VALUE-1000);

        for (int i = 0; i < roads.length; i++) {
            int from = roads[i][0],to = roads[i][1],price = roads[i][2];
            if (visited.contains(to)) continue;
            visited.add(to);
            len[to] = Math.min(len[to], len[from]+price);
        }


        return 0;
    }
}
